/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef DEVICES_COMMAND_H
#define DEVICES_COMMAND_H

/* Includes ------------------------------------------------------------------*/
#include "usart.h"
#include "string.h"
#include "stdio.h"

/* Exported constants --------------------------------------------------------*/
#define AT_CommandLength 							120
#define Command_CallbackMsgLength     30

/* Exported macros -----------------------------------------------------------*/
#define Command_FucGroundInit \
{ \
	&LID_ATCommand_Process, \
	&REC_ATCommand_Process, \
	&REC_E22Command_Process, \
	&REC_ATCommand_CallbackCapture, \
	&REC_ATCommand_CallbackReset, \
}
/* Exported types ------------------------------------------------------------*/
typedef struct
{
	void(*LID_ATCommand_Process)(char* AT_Command_Block);
	void(*REC_ATCommand_Process)(char* AT_Command_Block);
	void(*REC_E22Command_Process)(char* E22_Command_Block);
	void(*REC_ATCommand_CallbackCapture)(void);
	void(*REC_ATCommand_CallbackReset)(void);
	
}Command_Fuc;
/* Exported variables --------------------------------------------------------*/
extern Command_Fuc Command_Functions;
extern char AT_CommandReceive[AT_CommandLength];
extern char LID_AT_CommandReceive[AT_CommandLength];
extern char REC_AT_CommandReceive[AT_CommandLength];
/* End -----------------------------------------------------------------------*/

#endif
